package com.lzy.product.service;

import java.util.List;

public interface BaseService<T> {

	/**
	 * 添加
	 * @param dto	实体信息
	 * @return		操作影响的行数
	 */
	Long insert(T dto);

	/**
	 * 修改
	 * @param dto    实体信息
	 * @return		操作影响的行数
	 */
	Boolean update(T dto);

	/**
	 * 删除
	 * @param id	ID
	 * @return		是否操作成功
	 */
	Boolean delete(Long id);

	/**
	 * 逻辑删除
	 * @param id	ID
	 * @return		是否操作成功
	 */
	Boolean remove(Long id);

	/**
	 * 查找（根据id查找）
	 * @param id	ID
	 * @return		实体
	 */
	T findById(Long id);

	/**
	 * 查询列表
	 * @param dto		查询条件
	 * @return			分页数据
	 */
	List<T> query(T dto);
}
